/// <summary>
/// Interface definitions for the parser input.
/// </summary>

namespace Yaml.Grammar
{
	using System;
	using System.Collections.Generic;
	using System.Text;
	
	/// <summary>
	/// Parser Input Interface definition.
	/// </summary>
	public interface IParserInput<T>
	{
		int Length { get; }

		bool HasInput(int pos);

		T GetInputSymbol(int pos);

		void GetLineColumnNumber(int pos, out int line, out int col);

		string GetSubstring(int start, int length);

		string FormatErrorMessage(int position, string message);
	}
}
